package online.hxstar.learn.util;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import java.util.regex.Pattern;

public class StringUtils {

    private static final String REGEX_MOBILE = "^[1][3,4,5,6,7,8,9][0-9]{9}$";

    /**
     * 由年月日时分秒+3位随机数
     * 生成流水号
     *
     * @return 流水号
     */
    public static String getNum() {
        Date currentTime = new Date();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
        return formatter.format(currentTime) + (new Random().nextInt(900) + 100);

    }

    /**
     * 判断字符串是否为null 或者length==0
     *
     * @param s 字符串
     * @return 是返回 true 否 返回false
     */
    public static boolean isEmpty(String s) {
        return null == s || s.trim().length() == 0;
    }

    public static boolean isNotEmpty(String s) {
        return !isEmpty(s);
    }

    /**
     * 判断是否是数字
     *
     * @param str 字符串
     * @return 判断结果
     */
    public static boolean isNumeric(String str) {
        for (char c : str.toCharArray()) {
            if (!Character.isDigit(c)) {
                return false;
            }
        }
        return true;
    }


    /**
     * 校验手机号
     *
     * @param mobile 手机号
     * @return 校验通过返回true，否则返回false
     */
    public static boolean isMobile(Long mobile) {
        return Pattern.matches(REGEX_MOBILE, mobile.toString());
    }
}
